// channels 仓库数据
import {getChannelList} from "../services/newsServices";

export default {
    namespaced: true, // 开始命名空间
    // 定义源数据
    state: {
        data: [],
        total: 100,
        isLoading:false
    },
    // 改变状态，必须为同步函数
    mutations:{
        /**
         * state: 原来的状态
         * payload: 负荷，true or false
         * @param {boolean} payload
         */
        setIsLoading(state, payload){
            state.isLoading = payload
        },
        setData(state, payload){
            state.data = payload
        }
    },
    // 提交mutations，而不是直接变更状态
    actions:{
        // 写法一
        async getChannels1(context){
            // 设置isLoading为 true
            context.commit('setIsLoading', true)
            // 设置data为channels
            let channels = await getChannelList()
            context.commit('setData',channels)
            // 设置isLoading为 false
            context.commit('setIsLoading', false)
        },

        // 写法二
        async getChannels({commit}){
            // 设置isLoading为 true
            commit('setIsLoading', true)
            // 设置data为channels
            let channels = await getChannelList()
            commit('setData',channels)
            // 设置isLoading为 false
            commit('setIsLoading', false)
        }
    }
}
